package cn.helios._01_rocketMQ;

import org.apache.rocketmq.client.exception.MQBrokerException;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.exception.RemotingException;

import java.nio.charset.StandardCharsets;

/**
 * @BelongsProject: rocketmq-test
 * @BelongsPackage: cn.itsource._01_hello
 * @Author: 笔上人间
 * @CreateTime: 2022-07-23  17:18
 * @Description: 消息生产者
 * @Version: 1.0
 */
public class Producer {

//    public static void main(String[] args) throws Exception {
//        // 1.创建生产者对象，指定生产者组名
//        DefaultMQProducer producer = new DefaultMQProducer("producer_hello_group");
//        // 2.连接mq
//        producer.setNamesrvAddr("127.0.0.1:9876");
//        // 3.启动生产者
//        producer.start();
//        // 4.发送消息
//        // 4.1.创建消息体
//        // topic：消息主题 tags：此主题下的二级分类 body：消息的字节
//        Message message = new Message("hello_topic", "hello_tags", "我在源码学习Java！".getBytes(StandardCharsets.UTF_8));
//        // 4.2.发送消息
//        SendResult sendResult = producer.send(message);
//        // 4.3.打印消息发送结果
//        System.out.println(sendResult);
//        // 5.关闭生产者
//        producer.shutdown();
//    }


    public static void main(String[] args) throws Exception {

        DefaultMQProducer producer = new DefaultMQProducer("producer_one_group");

        producer.setNamesrvAddr("127.0.0.1:9876");

        producer.start();

        Message message = new Message("one_topic", "one_tags", "我再源码学习开车！".getBytes(StandardCharsets.UTF_8));


        SendResult send = producer.send(message);

        System.out.println(send);

        producer.shutdown();

    }
}